home *** CD-ROM | disk | FTP | other *** search
/ PC User 2003 May / Disc 1 / PCU0503CD1.iso / magstuff / program / files / quest312.exe / {app} / q3ext.asl < prev    next >
Encoding:
Text File  |  2001-11-11  |  7.8 KB  |  265 lines

  1. ' Test of Q3ext library (version 4.)
  2.  
  3. !include <q3ext.qlb>
  4.  
  5. define game <The "q3ext.qlb" library demo.>
  6.    asl-version <300>
  7.    game version <1.0>
  8.    game author <Al Bampton.>
  9.    game copyright <⌐2001 DaMaDbRiT.>
  10.    game info <A demo of release 6 of Q3EXT.QLB.>
  11.    start <poolside>
  12.  
  13.    command <sit #sitobject#> {
  14.         set <sitobject;$q3ext.qlb.realname(#sitobject#)$>
  15.         if (#sitobject# <> chair) then {
  16.         msg <You can't sit on that.>
  17.         }
  18.         else msg <You sit - the chair is remarkably hard and uncomfortable.>
  19.    }
  20.    startscript do <setup_proc(6)>
  21. '* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
  22. '* Note, the parameter in the call to 'setup_proc(n)' is the version number of     *
  23. '* the earliest version of Q3EXT.QLB needed to run this ASL file.                  *   
  24. '* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
  25. end define
  26.  
  27. define synonyms
  28.    lockers = locker
  29.    notices = noticeboard
  30.    swimming pool = pool
  31.    white socks; white ankle socks; ankle socks = socks
  32. end define
  33.  
  34. define room <inventory>
  35.  
  36.    define object <swimsuit>
  37.       type <teddy>
  38.       look <a turquoise one piece swimsuit, cut flatteringly high on the leg.>
  39.    end define
  40.    
  41. end define
  42.  
  43. define room <poolside>
  44.    look <The pool area at Newtown Leisure Centre - modern and very clean _
  45.          with a very strong smell of chlorine rising from the pool itself.>
  46.    alias <pool area>
  47.    prefix <the>
  48.    place <the; locker room> {
  49.    goto <lockerroom>
  50.    }
  51.    
  52.    define object <pool>
  53.       type <scenery>
  54.       look <A typical municipal full-sized swimming pool, nothing special.>
  55.       properties <notake = Just how could you do that? Don't be silly>
  56.    end define
  57.    
  58. end define
  59.  
  60. define room <lockerroom>
  61.    look <a fairly typical changing room, tall metal lockers to all sides.>
  62.    alias <locker room>
  63.    prefix <the>
  64.    out <the; foyer>
  65.    place <the; pool area> goto <poolside>
  66.      
  67.    define object <locker>
  68.       type <container>
  69.       type <scenery>
  70.       type <openable>
  71.       properties <closeddesc = The lockers are uniformly tall, green painted metal boxes. __
  72.                Your locker is closed>
  73.       properties <opendesc = Your locker is like all the others, except it is open>
  74.       properties <openingdesc = The door rattles and squeaks horribly as it swings open>
  75.       properties <closingdesc = The door clangs shut>
  76.       properties <openexam = The heavy locker door hangs open on badly worn hinges>
  77.       properties <closedexam = The locker is of sturdy metal construction and old - __
  78.                   not the biscuit tin like construction of more modern lockers.|nAs __
  79.                   it is closed, you cannot see what's inside of it>
  80.  
  81.    end define
  82.  
  83.    define object <box>
  84.      type <container>
  85.      type <openable>
  86.      type <object>
  87.      alias <large red box>
  88.      look <Flippin 'eck - I forgot the LOOK tag!>
  89.    end define
  90.  
  91.    define object <chair>
  92.         look <it's a red plastic stacking chair...ho hum.>            
  93.         alias <plastic chair>
  94.         prefix <a red>
  95.    end define
  96.  
  97. end define
  98.  
  99. define room <box_inventory>
  100.    prefix <The box contains >
  101. end define
  102.  
  103. define room <foyer>
  104.    description {
  105.    do <q3ext.qlb.DescribeRoomProc(Brightly lit and businesslike, the foyer of the __
  106.    Leisure Centre is unusually quiet. There is a well used noticeboard on the wall.)>
  107.    }
  108.    look <>
  109.    prefix <the>
  110.    out <the; street>
  111.    place <the; locker room> goto <lockerroom>
  112.       
  113.    define object <James>
  114.       type <human>
  115.       look <The tall, fit looking James is your personal assistant.>
  116.       action <speak> msg <James just nods in agreement.>
  117.       give <bag> {
  118.          say <At least it isn't as heavy as usual!>
  119.          move <bag; james_inventory>
  120.       }
  121.    end define
  122.    
  123.    define object <noticeboard>
  124.       type <scenery>
  125.       type <readable>
  126.       look <A standard cork faced noticeboard. There are several notices posted on it.>
  127.       properties <readmessage = Only one message is interesting, it reads |n|n|b__
  128.       Patrons are advised it is a CRIMINAL OFFENCE to be inadequately dressed when __
  129.       leaving the premises.|xb>
  130.       properties <readaction=yes>
  131.       action <readaction> {
  132.          do <WarningProc>
  133.       }
  134.    end define
  135.    
  136. end define
  137.  
  138. define room <james_inventory>
  139.    prefix <James is carrying >
  140. end define
  141.  
  142. define room <street>
  143.    look <the street outside Newtown Leisure Centre, The doors of which are open __
  144.          for business.>
  145.    east <foyer>
  146.    alias <Hightown Road>
  147.    script {
  148.       if (%q3ext.qlb.topcovered% < 8) or (%q3ext.qlb.botcovered% < 16) then {
  149.          msg <|nThe Policeman marches over and grabs you.>
  150.          say <You can't walk about improperly dressed in THIS town - you are under __
  151.                arrest.>
  152.          playerlose
  153.       }
  154.    }
  155.    
  156.    define object <policeman>
  157.       type <human>
  158.       properties <not container>
  159.       prefix <a>
  160.    end define
  161.    
  162. end define
  163.  
  164. define room <locker_inventory>
  165.    prefix <It contains >
  166.    
  167.    define object <panties>
  168.       type <undies>
  169.       look <high on the leg style in white with lace trim.>
  170.    end define
  171.      
  172.    define object <bra>
  173.       type <vest>
  174.       look <very lightweight and in white with lace trim.>
  175.    end define
  176.  
  177.    define object <jeans>
  178.       type <trousers>
  179.       look <faded denim - and very fashionable they are too!>
  180.    end define
  181.    
  182.    define object <T-Shirt>
  183.       type <shirt>
  184.       look <the shirt is black and has a distinctly tasteful motif.>
  185.    end define
  186.    
  187.    define object <shoes>
  188.       type <shoes>
  189.       look <black size 5 slingbacks with 4" heels.>
  190.    end define
  191.    
  192.    define object <socks>
  193.       type <socks>
  194.       look <little white ankle socks.>
  195.    end define
  196.    
  197.    define object <skirt>
  198.       type <skirt>
  199.       look <charcoal grey pinstripe and a pencil line cut, very stylish.>
  200.    end define
  201.    
  202.    define object <tights>
  203.       type <tights>
  204.       look <15 denier and in 'smoke grey'>
  205.    end define
  206.    
  207.    define object <dress>
  208.       type <dress>
  209.       look <a rather nice designer creation in black.>
  210.    end define
  211.    
  212.    define object <jacket>
  213.       type <jacket>
  214.       look <a classic cut jacket in charcoal grey with a pinstripe.>
  215.    end define
  216.    
  217.    define object <gloves>
  218.       type <gloves>
  219.       look <soft black calfskin, very expensive.>
  220.    end define
  221.    
  222.    define object <hat>
  223.       type <hat>
  224.       look <a rather 'chic' black felt hat.>
  225.    end define
  226.    
  227.    define object <bag>
  228.       type <object>
  229.       type <container>
  230.       prefix <a Mystique Boutique carrier>
  231.       look <The bag is huge, a girl could put all her unworn clothes in it.>
  232.    end define
  233.  
  234. end define
  235.  
  236. define room <bag_inventory>
  237.    prefix <Currently it contains >
  238. end define
  239.  
  240. define procedure <WarningProc>
  241.    if (#q3ext.qlb.topcovered# < 8) or (#q3ext.qlb.botcovered# < 16) then {
  242.       msg <|nJames coughs...>
  243.       say <Excuse me ma-am, but we do seem a little under-dressed for the street.>
  244.    }
  245. end define
  246.  
  247. define procedure <setup_proc>
  248.    do <q3ext.qlb.setup>
  249.    outputoff
  250.       exec <wear swimsuit>
  251.       clear
  252.    outputon
  253. end define
  254.  
  255. define text <intro>
  256. This is a library test piece mainly intended to try out the layered clothing routines. It uses a female player because females can wear male style trousers, pants, shirt, jacket, socks and shoes as well as more difficult to model dresses, skirts etc. Female undergarments like tights (pantie hose) bras and teddies are also more complex. Using a female player allows all the clothing types to be tried out.  This is also intended to test opening and closing containers and the effect of doing so on content visibility and takeabilty.
  257. end define
  258.  
  259. define text <win>
  260. Game Over - you won.
  261. end define
  262.  
  263. define text <lose>
  264. Game Over - you lost.
  265. end define